Tutorial Lengkap: Membuat Fitur Export Data ke Excel di Laravel

Posted on 15 August 2024


Pada artikel ini, kita akan membahas cara membuat fitur export ke Excel pada halaman Mata Kuliah di aplikasi Laravel Anda. Fitur ini akan memungkinkan pengguna untuk mengunduh data Mata Kuliah dalam format Excel, yang sangat berguna untuk keperluan laporan atau penyimpanan data offline.

Langkah 1: Instalasi Package Laravel Excel

Laravel Excel adalah package yang sangat populer dan mudah digunakan untuk mengimpor dan mengekspor file Excel. Untuk menggunakannya, kita perlu menginstalnya terlebih dahulu. Jalankan perintah berikut di terminal Anda:

composer require maatwebsite/excel

Setelah package ini terinstal, tambahkan service provider dan facade ke file config/app.php. Namun, jika Anda menggunakan Laravel versi 5.5 ke atas, package ini akan otomatis didaftarkan.

Langkah 2: Membuat Export Class untuk Mata Kuliah

Laravel Excel memungkinkan kita untuk membuat class export yang akan menangani logika untuk mengekspor data ke dalam file Excel. Untuk membuatnya, jalankan perintah berikut:

php artisan make:export MatakuliahExport --model=Matakuliah

Perintah ini akan membuat sebuah file export di dalam folder app/Exports. Buka file MatakuliahExport.php dan ganti dengan Code berikut:

<?php namespace App\Exports; use App\Models\Matakuliah; use Maatwebsite\Excel\Concerns\FromCollection; class MatakuliahExport implements FromCollection { /** * Mengambil data Mata Kuliah untuk diekspor. * * @return \Illuminate\Support\Collection */ public function collection() { return Matakuliah::all(); // Mengambil semua data Mata Kuliah } }

Class ini akan mengambil semua data Mata Kuliah dari database dan mempersiapkannya untuk diekspor ke dalam file Excel.

Langkah 3: Menambahkan Route untuk Export

Selanjutnya, kita perlu membuat route yang akan mengarahkan pengguna ke fungsi export ketika tombol export ditekan. Tambahkan route berikut di file routes/web.php:

use App\Exports\MatakuliahExport; use Maatwebsite\Excel\Facades\Excel; Route::get('/matakuliah/export', function () { return Excel::download(new MatakuliahExport, 'matakuliah.xlsx'); })->name('matakuliah.export');

Route ini akan mengarahkan pengguna ke fungsi export yang akan menghasilkan file Excel dengan nama matakuliah.xlsx.

Langkah 4: Menambahkan Tombol Export di View Mata Kuliah

Sekarang, kita akan menambahkan tombol export di halaman Mata Kuliah yang akan memicu proses download file Excel. Buka file view Mata Kuliah Anda (misalnya index.blade.php) dan tambahkan code Cetak Kuning berikut di atas tabel daftar Mata Kuliah:

@extends('layouts.app') @section('content') <div class="container"> <h1>Daftar Mata Kuliah</h1> <!-- Tombol Export ke Excel --> <a href="{{ route('matakuliah.export') }}" class="btn btn-success mb-3">Export ke Excel</a> <!-- Daftar Mata Kuliah --> @if($matakuliahs->isNotEmpty()) <table class="table table-bordered"> <thead> <tr> <th>Kode</th> <th>Nama Mata Kuliah</th> <th>Aksi</th> </tr> </thead> <tbody> @foreach($matakuliahs as $matakuliah) <tr> <td>{{ $matakuliah->CodeMataKuliah }}</td>
<td>{{ $matakuliah->NamaMataKuliah }}</td>
<td> <!-- Tombol aksi seperti edit dan hapus --> </td> </tr> @endforeach </tbody> </table> @else <p>Tidak ada Mata Kuliah yang ditemukan.</p> @endif </div> @endsection

Tombol export ini akan men-trigger route yang telah kita buat untuk menghasilkan dan mengunduh file Excel dengan semua data Mata Kuliah.

Langkah 5: Menjalankan Aplikasi

Sekarang, jalankan aplikasi Laravel Anda dan buka halaman Mata Kuliah. Anda akan melihat tombol Export ke Excel di atas tabel daftar Mata Kuliah. Ketika tombol ini diklik, file Excel yang berisi semua data Mata Kuliah akan diunduh ke perangkat pengguna.

Kesimpulan

Dengan mengikuti tutorial ini, Anda telah berhasil menambahkan fitur export ke Excel pada halaman Mata Kuliah di aplikasi Laravel Anda. Fitur ini akan memudahkan pengguna untuk mengekspor data Mata Kuliah dalam format Excel, yang sangat berguna untuk berbagai keperluan, seperti laporan, analisis, atau penyimpanan offline.

Semoga artikel ini bermanfaat dalam pengembangan aplikasi Laravel Anda!


Baca juga:
Tutorial: Membuat Tampilan (View) untuk CRUD di Laravel